home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / libs / x / xview / xview3.004 / xview3 / usr / openwin / include / pixrect / cg8var.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-30  |  2.6 KB  |  96 lines

  1. /* @(#)cg8var.h    1.14 of 8/22/90 SMI */
  2.  
  3. /*
  4.  * Copyright 1988 by Sun Microsystems, Inc.
  5.  */
  6.  
  7. #ifndef cg8var_DEFINED
  8. #define    cg8var_DEFINED
  9.  
  10. /* <sundev/p4reg.h> and <pixrect/memvar.h> included */
  11. #include <pixrect/cg4var.h>
  12. #ifndef SVR4
  13. #include <sundev/cg8reg.h>
  14. #include <sunwindow/cms.h>
  15. #else
  16. #include <sys/cms.h>
  17. #endif SVR4
  18.  
  19. /* FBIOSATTR device specific array indices, copied from cg4var.h */
  20. #define    FB_ATTR_CG8_SETOWNER_CMD    0    /* 1 indicates PID is valid */
  21. #define    FB_ATTR_CG8_SETOWNER_PID    1    /* new owner of device */
  22.  
  23.  
  24. #define    CG8_NFBS    3
  25.  
  26. #define    CG8_PRIMARY        0x01    /* Mark the PRIMARY Pixrect    */
  27. #define    CG8_OVERLAY_CMAP    0x02    /* Overlay CMAP to be changed    */
  28. #define    CG8_24BIT_CMAP        0x04    /* 24 Bit CMAP to be changed     */
  29. #define    CG8_KERNEL_UPDATE    0x08    /* kernel vs. user ioctl    */
  30.                     /* 0x10 & 0x20 are dbl buf in cg9 */
  31. #define    CG8_SLEEPING        0x40    /* Denote if wake_up is necessary */
  32. #define    CG8_COLOR_OVERLAY    0x80    /* view overlay & enable as 2 bits */
  33. #define    CG8_UPDATE_PENDING    0x100
  34.  
  35. struct cg8_data
  36. {
  37.     struct    mprp_data    mprp;        /* memory pixrect simulator */
  38.     int            flags;        /* misc. flags */
  39.     int            planes;        /* current group and mask */
  40.     int            fd;        /* file descriptor */
  41.     short            active;        /* active fb no. */
  42.     struct    cg4fb        fb[CG8_NFBS];    /* frame buffer info */
  43.     int            windowfd;    /* if 8-bit indexed pw */
  44.     struct    colormapseg    cms;        /* if 8-bit indexed pr */
  45.     int            real_windowfd;    /* if 8-bit indexed pw */
  46. };
  47.  
  48. #define    cg8_d(pr)    ((struct cg8_data *)((pr)->pr_data))
  49.  
  50. #define CG8_PR_TO_MEM(src, mem)                        \
  51.     if (src && src->pr_ops != &mem_ops)                    \
  52.     {                                    \
  53.     mem.pr_ops = &mem_ops;                        \
  54.     mem.pr_size = src->pr_size;                    \
  55.     mem.pr_depth = src->pr_depth;                    \
  56.     mem.pr_data = (char *) &cg8_d(src)->mprp;            \
  57.     src = &mem;                            \
  58.     }
  59.  
  60. #define CG8_PR_TO_MEM32(pr, mem32_pr, mem32_pr_data)            \
  61.     if (pr && pr->pr_ops != &mem_ops)                    \
  62.     {                                    \
  63.     mem32_pr.pr_ops = &mem32_ops;                    \
  64.     mem32_pr.pr_size = pr->pr_size;                    \
  65.     mem32_pr.pr_depth = pr->pr_depth;                \
  66.     mem32_pr_data.mprp = cg8_d(pr)->mprp;                \
  67.     mem32_pr_data.plane_group = cg8_d(pr)->fb[cg8_d(pr)->active].group;\
  68.     mem32_pr_data.fd = cg8_d(pr)->fd;                \
  69.     mem32_pr_data.windowfd = cg8_d(pr)->windowfd;            \
  70.     mem32_pr_data.cms = cg8_d(pr)->cms;                \
  71.     mem32_pr.pr_data = (char *) &mem32_pr_data;            \
  72.     pr = &mem32_pr;                            \
  73.     }
  74.  
  75. extern struct pixrectops cg8_ops;
  76.  
  77. int        cg8_putcolormap();
  78. int        cg8_putattributes();
  79. int        cg8_ioctl();
  80.  
  81. #ifndef KERNEL
  82.  
  83. Pixrect        *cg8_make();
  84. int        cg8_destroy();
  85. Pixrect        *cg8_region();
  86. int        cg8_getcolormap();
  87. int        cg8_getattributes();
  88. int        cg8_vector();
  89. int        cg8_get();
  90. int        cg8_put();
  91. int        cg8_rop();
  92.  
  93. #endif    !KERNEL
  94.  
  95. #endif cg8var_DEFINED
  96.